Software Engineering

Software Engineering
Software Engineering
 das, (Software-Technik, Software-Technologie), Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen und Implementieren von Software befasst. Das Software Engineering entstand Ende der 1960er-Jahre als Antwort auf die Software-Krise; es sollte einen Umdenkprozess in der Software-Produktion einleiten, Bewertungskriterien stärker berücksichtigen und zu qualitativ hochwertigen Software-Produkten führen. Als deren Qualitätskriterien gelten insbesondere: Benutzerfreundlichkeit, Zuverlässigkeit, Wartbarkeit, Anpassbarkeit an Änderungen der Aufgabenstellung, Portabilität, Effizienz, Ergonomie (Software-Ergonomie).
 
Software-Engineering wird heute fast ausschließlich mithilfe spezieller Software-Werkzeuge durchgeführt; man spricht dann von CASE-Tools (CASE). Die speziellen Methoden der Software-Technik hängen von den grundlegenden Prinzipien der Programmentwicklung ab, wie strukturierte Programmierung oder objektorientierte Programmierung. Die Vorgehensmodelle der Software-Technik umfassen alle Phasen von der Problemstellung bis zur endgültigen Ausmusterung eines Programms oder Programmsystems (Software-Lebenszyklus). Für Programme mittlerer Komplexität (bis zu einer Länge von etwa 20 000 Zeilen) hat sich ein Phasenmodell mit folgenden (linear aufeinander folgenden) Phasen als zweckmäßig erwiesen: 1) Problemanalyse, 2) Software-Entwurf, 3) Implementierung, 4) Funktionsüberprüfung (Test und Verifikation), 5) Leistungsüberprüfung, 6) Installation und Abnahme, 7) Wartung. Problemanalyse und Software-Entwurf sind Gegenstand der Systemanalyse (Abb.).
 
Als Resultat der Problemanalyse, die v. a. Istanalyse, Sollkonzeptentwicklung, Durchführbarkeitsstudie und Projektplanung umfasst, wird eine Anforderungsdefinition (Pflichtenheft) erstellt, die als verbindliches (standardisiertes) Dokument die Grundlage für den zwischen Auftraggeber und Software-Hersteller abzuschließenden Vertrag bildet. Mit dem Software-Entwurf wird das geplante komplexe Gesamtsystem modellhaft dargestellt, wobei es in voneinander unabhängige und überschaubare Komponenten (Module) zerlegt wird. Die Modularisierung ist meist hierarchisch; zu ihrer Durchführung (und ebenfalls für die spätere Implementierung) gibt es im Wesentlichen zwei Methoden: die Top-down-Methode und die Bottom-up-Methode. Der Entwurf wird als Spezifikation festgehalten, die u. a. Funktion und Schnittstellen jedes Moduls sowie einen Überblick über die Abhängigkeit der einzelnen Module voneinander enthält. Bedingt durch die Entwicklung objektorientierter Programmiersprachen setzten sich in den letzten Jahren verstärkt objektorientierte Methoden des Software-Entwurfs durch, die oft auch angepasste Vorgehensmodelle bedingen, die keine starre lineare Phasenabfolge aufweisen. Diese Phaseneinteilung kommt auch bei den meisten anderen Methoden in ähnlicher Form vor, mit Qualitätskontrollen an den Phasenübergängen.
 
Software-Produkte mit mehr als etwa 100 000 Programmzeilen erfordern zusätzliche und andersartige Methoden, u. a. weil die Spezifikation mit dem Software-Umfang immer unübersichtlicher wird; für solche Fälle müssen leistungsstarke Software-Werkzeuge vorhanden sein. Ein weiteres wichtiges Prinzip der Software-Technik ist die ausführliche und lückenlose Dokumentation von Verlauf und Ergebnissen aller Phasen.
 

Universal-Lexikon. 2012.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Software engineering — (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.[1] It is the… …   Wikipedia

  • software engineering — ➔ engineering * * * software engineering UK US noun [U] IT ► the activity of creating computer programs: »The company used software engineering to build better systems …   Financial and business terms

  • software engineering — Engineering En gi*neer ing, n. Originally, the art of managing engines; in its modern and extended sense, the art and science by which the properties of matter are made useful to man, whether in structures, machines, chemical substances, or… …   The Collaborative International Dictionary of English

  • Software-Engineering —   [ sɔftweəendʒɪ nɪərɪȖ, englisch] das, , die Softwaretechnik …   Universal-Lexikon

  • Software-Engineering — Die Softwaretechnik (engl. software engineering) beschäftigt sich mit der Herstellung von Software, also der Entwicklung und dem Betrieb von Softwaresystemen und der Organisation und Modellierung der zugehörigen Datenstrukturen. Eine Definition… …   Deutsch Wikipedia

  • Software Engineering — Die Softwaretechnik (engl. software engineering) beschäftigt sich mit der Herstellung von Software, also der Entwicklung und dem Betrieb von Softwaresystemen und der Organisation und Modellierung der zugehörigen Datenstrukturen. Eine Definition… …   Deutsch Wikipedia

  • software engineering — programinės įrangos sukūrimas statusas T sritis automatika atitikmenys: angl. software engineering vok. Software Entwicklungstechnik, f; Software Technik, f rus. разработка программного обеспечения, f pranc. ingénierie du logiciel, f …   Automatikos terminų žodynas

  • software engineering — noun : a branch of computer science that deals with the design, implementation, and maintenance of complex computer programs • software engineer noun * * * software engineering noun The production of reliable software and its maintenance and… …   Useful english dictionary

  • software engineering — programų inžinerija statusas T sritis informatika apibrėžtis Sistemingas programinės įrangos projektavimas, pagrįstas kompiuterių mokslo žiniomis. atitikmenys: angl. software engineering …   Enciklopedinis kompiuterijos žodynas

  • Software Engineering Institute — (SEI) es un instituto federal estadounidense de investigación y desarrollo, fundado por el Congreso de los Estados Unidos en 1984 para desarrollar modelos de evaluación y mejora en el desarrollo de software, que dieran respuesta a los problemas… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”